package com.navi.loaddata.core.oracleEntity;

import javax.persistence.*;
import java.sql.Time;

/**
 * Created by fw_06 on 2018/1/16
 */
@Entity
@Table(name = "MES_CT_PRODUCTLOCATIONHIST", schema = "P1RPTADM", catalog = "")
@IdClass(MesCtProductlocationhistPK.class)
public class MesCtProductlocationhist {
    private String productname;
    private String timekey;
    private String eventname;
    private String factoryname;
    private String subfactoryname;
    private String linename;
    private String unitname;
    private String subunitname;
    private String portname;
    private String tracelevel;
    private String lotname;
    private String carriername;
    private String position;
    private String hostproductname;
    private String linerecipename;
    private String bcrecipeid;
    private String timestamp;
    private String processingtime;
    private String crosslineflag;
    private String planid;
    private Time eventtime;
    private Time updatetime;
    private String lasttrackintimekey;
    private String processoperationname;

    @Id
    @Column(name = "PRODUCTNAME")
    public String getProductname() {
        return productname;
    }

    public void setProductname(String productname) {
        this.productname = productname;
    }

    @Id
    @Column(name = "TIMEKEY")
    public String getTimekey() {
        return timekey;
    }

    public void setTimekey(String timekey) {
        this.timekey = timekey;
    }

    @Basic
    @Column(name = "EVENTNAME")
    public String getEventname() {
        return eventname;
    }

    public void setEventname(String eventname) {
        this.eventname = eventname;
    }

    @Basic
    @Column(name = "FACTORYNAME")
    public String getFactoryname() {
        return factoryname;
    }

    public void setFactoryname(String factoryname) {
        this.factoryname = factoryname;
    }

    @Basic
    @Column(name = "SUBFACTORYNAME")
    public String getSubfactoryname() {
        return subfactoryname;
    }

    public void setSubfactoryname(String subfactoryname) {
        this.subfactoryname = subfactoryname;
    }

    @Basic
    @Column(name = "LINENAME")
    public String getLinename() {
        return linename;
    }

    public void setLinename(String linename) {
        this.linename = linename;
    }

    @Basic
    @Column(name = "UNITNAME")
    public String getUnitname() {
        return unitname;
    }

    public void setUnitname(String unitname) {
        this.unitname = unitname;
    }

    @Basic
    @Column(name = "SUBUNITNAME")
    public String getSubunitname() {
        return subunitname;
    }

    public void setSubunitname(String subunitname) {
        this.subunitname = subunitname;
    }

    @Basic
    @Column(name = "PORTNAME")
    public String getPortname() {
        return portname;
    }

    public void setPortname(String portname) {
        this.portname = portname;
    }

    @Basic
    @Column(name = "TRACELEVEL")
    public String getTracelevel() {
        return tracelevel;
    }

    public void setTracelevel(String tracelevel) {
        this.tracelevel = tracelevel;
    }

    @Basic
    @Column(name = "LOTNAME")
    public String getLotname() {
        return lotname;
    }

    public void setLotname(String lotname) {
        this.lotname = lotname;
    }

    @Basic
    @Column(name = "CARRIERNAME")
    public String getCarriername() {
        return carriername;
    }

    public void setCarriername(String carriername) {
        this.carriername = carriername;
    }

    @Basic
    @Column(name = "POSITION")
    public String getPosition() {
        return position;
    }

    public void setPosition(String position) {
        this.position = position;
    }

    @Basic
    @Column(name = "HOSTPRODUCTNAME")
    public String getHostproductname() {
        return hostproductname;
    }

    public void setHostproductname(String hostproductname) {
        this.hostproductname = hostproductname;
    }

    @Basic
    @Column(name = "LINERECIPENAME")
    public String getLinerecipename() {
        return linerecipename;
    }

    public void setLinerecipename(String linerecipename) {
        this.linerecipename = linerecipename;
    }

    @Basic
    @Column(name = "BCRECIPEID")
    public String getBcrecipeid() {
        return bcrecipeid;
    }

    public void setBcrecipeid(String bcrecipeid) {
        this.bcrecipeid = bcrecipeid;
    }

    @Basic
    @Column(name = "TIMESTAMP")
    public String getTimestamp() {
        return timestamp;
    }

    public void setTimestamp(String timestamp) {
        this.timestamp = timestamp;
    }

    @Basic
    @Column(name = "PROCESSINGTIME")
    public String getProcessingtime() {
        return processingtime;
    }

    public void setProcessingtime(String processingtime) {
        this.processingtime = processingtime;
    }

    @Basic
    @Column(name = "CROSSLINEFLAG")
    public String getCrosslineflag() {
        return crosslineflag;
    }

    public void setCrosslineflag(String crosslineflag) {
        this.crosslineflag = crosslineflag;
    }

    @Basic
    @Column(name = "PLANID")
    public String getPlanid() {
        return planid;
    }

    public void setPlanid(String planid) {
        this.planid = planid;
    }

    @Basic
    @Column(name = "EVENTTIME")
    public Time getEventtime() {
        return eventtime;
    }

    public void setEventtime(Time eventtime) {
        this.eventtime = eventtime;
    }

    @Basic
    @Column(name = "UPDATETIME")
    public Time getUpdatetime() {
        return updatetime;
    }

    public void setUpdatetime(Time updatetime) {
        this.updatetime = updatetime;
    }

    @Basic
    @Column(name = "LASTTRACKINTIMEKEY")
    public String getLasttrackintimekey() {
        return lasttrackintimekey;
    }

    public void setLasttrackintimekey(String lasttrackintimekey) {
        this.lasttrackintimekey = lasttrackintimekey;
    }

    @Basic
    @Column(name = "PROCESSOPERATIONNAME")
    public String getProcessoperationname() {
        return processoperationname;
    }

    public void setProcessoperationname(String processoperationname) {
        this.processoperationname = processoperationname;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        MesCtProductlocationhist that = (MesCtProductlocationhist) o;

        if (productname != null ? !productname.equals(that.productname) : that.productname != null) return false;
        if (timekey != null ? !timekey.equals(that.timekey) : that.timekey != null) return false;
        if (eventname != null ? !eventname.equals(that.eventname) : that.eventname != null) return false;
        if (factoryname != null ? !factoryname.equals(that.factoryname) : that.factoryname != null) return false;
        if (subfactoryname != null ? !subfactoryname.equals(that.subfactoryname) : that.subfactoryname != null)
            return false;
        if (linename != null ? !linename.equals(that.linename) : that.linename != null) return false;
        if (unitname != null ? !unitname.equals(that.unitname) : that.unitname != null) return false;
        if (subunitname != null ? !subunitname.equals(that.subunitname) : that.subunitname != null) return false;
        if (portname != null ? !portname.equals(that.portname) : that.portname != null) return false;
        if (tracelevel != null ? !tracelevel.equals(that.tracelevel) : that.tracelevel != null) return false;
        if (lotname != null ? !lotname.equals(that.lotname) : that.lotname != null) return false;
        if (carriername != null ? !carriername.equals(that.carriername) : that.carriername != null) return false;
        if (position != null ? !position.equals(that.position) : that.position != null) return false;
        if (hostproductname != null ? !hostproductname.equals(that.hostproductname) : that.hostproductname != null)
            return false;
        if (linerecipename != null ? !linerecipename.equals(that.linerecipename) : that.linerecipename != null)
            return false;
        if (bcrecipeid != null ? !bcrecipeid.equals(that.bcrecipeid) : that.bcrecipeid != null) return false;
        if (timestamp != null ? !timestamp.equals(that.timestamp) : that.timestamp != null) return false;
        if (processingtime != null ? !processingtime.equals(that.processingtime) : that.processingtime != null)
            return false;
        if (crosslineflag != null ? !crosslineflag.equals(that.crosslineflag) : that.crosslineflag != null)
            return false;
        if (planid != null ? !planid.equals(that.planid) : that.planid != null) return false;
        if (eventtime != null ? !eventtime.equals(that.eventtime) : that.eventtime != null) return false;
        if (updatetime != null ? !updatetime.equals(that.updatetime) : that.updatetime != null) return false;
        if (lasttrackintimekey != null ? !lasttrackintimekey.equals(that.lasttrackintimekey) : that.lasttrackintimekey != null)
            return false;
        if (processoperationname != null ? !processoperationname.equals(that.processoperationname) : that.processoperationname != null)
            return false;

        return true;
    }

    @Override
    public int hashCode() {
        int result = productname != null ? productname.hashCode() : 0;
        result = 31 * result + (timekey != null ? timekey.hashCode() : 0);
        result = 31 * result + (eventname != null ? eventname.hashCode() : 0);
        result = 31 * result + (factoryname != null ? factoryname.hashCode() : 0);
        result = 31 * result + (subfactoryname != null ? subfactoryname.hashCode() : 0);
        result = 31 * result + (linename != null ? linename.hashCode() : 0);
        result = 31 * result + (unitname != null ? unitname.hashCode() : 0);
        result = 31 * result + (subunitname != null ? subunitname.hashCode() : 0);
        result = 31 * result + (portname != null ? portname.hashCode() : 0);
        result = 31 * result + (tracelevel != null ? tracelevel.hashCode() : 0);
        result = 31 * result + (lotname != null ? lotname.hashCode() : 0);
        result = 31 * result + (carriername != null ? carriername.hashCode() : 0);
        result = 31 * result + (position != null ? position.hashCode() : 0);
        result = 31 * result + (hostproductname != null ? hostproductname.hashCode() : 0);
        result = 31 * result + (linerecipename != null ? linerecipename.hashCode() : 0);
        result = 31 * result + (bcrecipeid != null ? bcrecipeid.hashCode() : 0);
        result = 31 * result + (timestamp != null ? timestamp.hashCode() : 0);
        result = 31 * result + (processingtime != null ? processingtime.hashCode() : 0);
        result = 31 * result + (crosslineflag != null ? crosslineflag.hashCode() : 0);
        result = 31 * result + (planid != null ? planid.hashCode() : 0);
        result = 31 * result + (eventtime != null ? eventtime.hashCode() : 0);
        result = 31 * result + (updatetime != null ? updatetime.hashCode() : 0);
        result = 31 * result + (lasttrackintimekey != null ? lasttrackintimekey.hashCode() : 0);
        result = 31 * result + (processoperationname != null ? processoperationname.hashCode() : 0);
        return result;
    }
}
